
package ventanas;


import clases.ImagenFondo;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;


/**
 *
 * @author Fernando Argerich (ferargerich@hotmail.com)
 */
public class VentanaPrincipal extends javax.swing.JFrame {   
    
    public VentanaPrincipal() {
        super("   SiEsCA - Sistema Estadístico de Consultas Ambulatorias");
        initComponents();
                
        //Mostrar imagen de fondo.
        jDesktopPane1.setBorder(new ImagenFondo());
        
        //Tamaño de la ventana principal.
        setSize(750, 650);
               
        //Obtenemos la resolución de la pantalla para determinar la
        //posición de la ventana principal.
        Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
        int alto = pantalla.height;
        int ancho = pantalla.width;
        setLocation((ancho/7),(alto/55));
               
        pack();
    }
    
    
    //Metodo que permite colocar imagen de fondo en el sistema.
    @Override
    public Image getIconImage(){
        Image retValue=Toolkit.getDefaultToolkit().
               getImage(ClassLoader.getSystemResource("imagenes/salud.png"));
        return retValue;
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jMenuItem2 = new javax.swing.JMenuItem();
        jDesktopPane1 = new javax.swing.JDesktopPane();
        jMenuBar1 = new javax.swing.JMenuBar();
        Movimientos = new javax.swing.JMenu();
        altas = new javax.swing.JMenuItem();
        bajas = new javax.swing.JMenuItem();
        modificaciones = new javax.swing.JMenuItem();
        salir = new javax.swing.JMenuItem();
        Base = new javax.swing.JMenu();
        comprobarConexion = new javax.swing.JMenuItem();
        crearAnio = new javax.swing.JMenuItem();
        seleccionarAnio = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem8 = new javax.swing.JMenuItem();
        ayuda = new javax.swing.JMenuItem();

        jMenuItem2.setText("jMenuItem2");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setIconImage(getIconImage());
        setMinimumSize(new java.awt.Dimension(750, 650));
        setResizable(false);

        jDesktopPane1.setBackground(new java.awt.Color(0, 0, 0));
        getContentPane().add(jDesktopPane1, java.awt.BorderLayout.CENTER);

        Movimientos.setText("Movimientos");
        Movimientos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                MovimientosMouseClicked(evt);
            }
        });

        altas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/agregar un registro.png"))); // NOI18N
        altas.setText("Agregar un registro");
        altas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                altasActionPerformed(evt);
            }
        });
        Movimientos.add(altas);

        bajas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/eliminar un registro.png"))); // NOI18N
        bajas.setText("Eliminar un registro");
        bajas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bajasActionPerformed(evt);
            }
        });
        Movimientos.add(bajas);

        modificaciones.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/actualizar.png"))); // NOI18N
        modificaciones.setText("Consultar/Modificar un registro");
        modificaciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                modificacionesActionPerformed(evt);
            }
        });
        Movimientos.add(modificaciones);

        salir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/salir.png"))); // NOI18N
        salir.setText("Salir");
        salir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                salirActionPerformed(evt);
            }
        });
        Movimientos.add(salir);

        jMenuBar1.add(Movimientos);

        Base.setText("Base");
        Base.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                BaseMouseClicked(evt);
            }
        });

        comprobarConexion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/conexion.png"))); // NOI18N
        comprobarConexion.setText("Comprobar conexión");
        comprobarConexion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                comprobarConexionActionPerformed(evt);
            }
        });
        Base.add(comprobarConexion);

        crearAnio.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/crear anio.png"))); // NOI18N
        crearAnio.setText("Crear año");
        crearAnio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                crearAnioActionPerformed(evt);
            }
        });
        Base.add(crearAnio);

        seleccionarAnio.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/seleccionar anio.png"))); // NOI18N
        seleccionarAnio.setText("Seleccionar año");
        seleccionarAnio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                seleccionarAnioActionPerformed(evt);
            }
        });
        Base.add(seleccionarAnio);

        jMenuBar1.add(Base);

        jMenu3.setText("Ayuda");

        jMenuItem8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/informacion.png"))); // NOI18N
        jMenuItem8.setText("Acerca de SiEsCA");
        jMenu3.add(jMenuItem8);

        ayuda.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/ayuda.png"))); // NOI18N
        ayuda.setText("Ayuda");
        jMenu3.add(ayuda);

        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void altasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_altasActionPerformed

        //Apertura ventana hija altas
        Altas ventana = new Altas();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); //Alterar propiedades de la ventana.
        DesabilitarMenu();
       
    }//GEN-LAST:event_altasActionPerformed

    private void bajasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bajasActionPerformed
        //Apertura ventana hija bajas
        Bajas ventana = new Bajas();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); //Alterar propiedades de la ventana.
        DesabilitarMenu();
    }//GEN-LAST:event_bajasActionPerformed

    private void modificacionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_modificacionesActionPerformed
        // Apertura ventana hija modificaciones
                
        Modificaciones ventana = new Modificaciones();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); //Alterar propiedades de la ventana.
        DesabilitarMenu();        
    }//GEN-LAST:event_modificacionesActionPerformed

    private void salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_salirActionPerformed
        //Instrucción para salir del sistema.
        System.exit(0);
    }//GEN-LAST:event_salirActionPerformed
   
    public void DesabilitarMenu(){
        modificaciones.setEnabled(false);
        bajas.setEnabled(false);
        altas.setEnabled(false);

        seleccionarAnio.setEnabled(false);
        comprobarConexion.setEnabled(false);
        crearAnio.setEnabled(false);
        
        
    }
    public void HabilitarMenu(){
        modificaciones.setEnabled(true);
        bajas.setEnabled(true);
        altas.setEnabled(true);

        seleccionarAnio.setEnabled(true);
        comprobarConexion.setEnabled(true);
        crearAnio.setEnabled(true);
        
    }
    
    private void MovimientosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_MovimientosMouseClicked
    if (!Altas.abierta && !Modificaciones.abierta && !Bajas.abierta && !ComprobarConexion.abierta && !CrearAnio.abierta && !SeleccionarAnio.abierta) {
            HabilitarMenu();
        }
    }//GEN-LAST:event_MovimientosMouseClicked

    private void BaseMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_BaseMouseClicked
        if (!Altas.abierta && !Modificaciones.abierta && !Bajas.abierta && !ComprobarConexion.abierta && !CrearAnio.abierta && !SeleccionarAnio.abierta) {
            HabilitarMenu();
        }
    }//GEN-LAST:event_BaseMouseClicked

    private void comprobarConexionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comprobarConexionActionPerformed
        ComprobarConexion ventana = new ComprobarConexion();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); 
        DesabilitarMenu();
    }//GEN-LAST:event_comprobarConexionActionPerformed

    private void crearAnioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crearAnioActionPerformed
        CrearAnio ventana = new CrearAnio();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); 
        DesabilitarMenu();
    }//GEN-LAST:event_crearAnioActionPerformed

    private void seleccionarAnioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_seleccionarAnioActionPerformed
        SeleccionarAnio ventana = new SeleccionarAnio();
        jDesktopPane1.add(ventana);
        ventana.setVisible(true); 
        DesabilitarMenu();
    }//GEN-LAST:event_seleccionarAnioActionPerformed


    public static void main(String args[]) {
                
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(VentanaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(VentanaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(VentanaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(VentanaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new VentanaPrincipal().setVisible(true);
            }
        });

    }
        

    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu Base;
    private javax.swing.JMenu Movimientos;
    private javax.swing.JMenuItem altas;
    private javax.swing.JMenuItem ayuda;
    private javax.swing.JMenuItem bajas;
    private javax.swing.JMenuItem comprobarConexion;
    private javax.swing.JMenuItem crearAnio;
    public static javax.swing.JDesktopPane jDesktopPane1;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JMenuItem modificaciones;
    private javax.swing.JMenuItem salir;
    private javax.swing.JMenuItem seleccionarAnio;
    // End of variables declaration//GEN-END:variables
}
